同時処理が安全なメンバー関数

このセクションのすべてのメンバー関数は、相互に同時実行できます。

要素をプッシュ

void push( const value_type& value );

value のコピーをコンテナーにプッシュします。

要件: T タイプは、[container.requirements] ISO C++ 標準の CopyInsertable 要件を満たしている必要があります。


void push( value_type&& value );

ムーブ・セマンティクスを使用して、value をコンテナーにプッシュします。

要件: T タイプは、[container.requirements] ISO C++ 標準の MoveInsertable 要件を満たしている必要があります。

value は有効のままですが、未指定の状態となります。


template <typename... Args> void emplace( Args&&... args );

args から構築された新しい要素をコンテナーにプッシュします。

要件: T タイプは、[container.requirements] ISO C++ 標準の EmplaceConstructible 要件を満たしている必要があります。

要素をポップ

bool try_pop( value_type& value );

コンテナーが空の場合は何も行いません。

それ以外では、コンテナーから最後の要素をコピーして valueに割り当てます。ポップされた要素は破棄されます。

要件: T タイプは、[moveassignable] ISO C++ 標準の MoveAssignable 要件を満たしている必要があります。

戻り値: 入力が受け付けられた場合は true、それ以外は false を返します。

get_allocator

allocator_type get_allocator() const;

戻り値: *this に関連付けられているアロケーターのコピーを返します。